package com.aorise.service.halt;

import com.aorise.model.halt.*;
import com.aorise.utils.page.Page;

import java.util.List;
import java.util.Map;

/**
 * @Author:cat
 * @Desicription: 停机记录接口服务类
 * @Date:Created in 2019-06-11
 * @Modified By:
 */
public interface HaltService {

    /**
     * @Author:cat
     * @Description 分页查询停机记录信息
     * @params: map 查询条件
     * @params: page 分页
     * @Date:2019-06-11
     * @Return: List<HaltModel> 停机记录信息集合
     * @Modified By:
     */
    List<HaltModel> getAllHaltListByPage(Map<String, Object> map, Page page);

    /**
     * @Author:cat
     * @Description 根据ID查询停机记录详情
     * @params: id 主键ID
     * @params: userId 登录人ID
     * @Date:2019-06-11
     * @Return: HaltModel 停机记录信息
     * @Modified By:
     */
    HaltModel getHaltById(Integer id, Integer userId);

    /**
     * @Author:cat
     * @Description 新增停机记录信息
     * @params: haltAddVO 停机记录信息
     * @Date:2019-06-11
     * @Return: Integer 主键
     * @Modified By:
     */
    Integer addHalt(HaltAddVO haltAddVO);

    /**
     * @Author:cat
     * @Description 删除停机记录信息
     * @params: map 查询条件Map
     * @Date:2019-06-11
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer deleteHalt(Map<String, Object> map);

    /**
     * @Author:cat
     * @Description 查询停机记录未读消息总数
     * @params: map 查询条件
     * @Date:2019-06-11
     * @Return: Long 数据总条数
     * @Modified By:
     */
    Long getHaltIsNotRead(Map<String, Object> map);

    /**
     * @Author:cat
     * @Description 对停机记录信息点赞、取消赞
     * @params: map 查询条件Map
     * @Date:2019-06-11
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer doLikeHalt(Map<String, Object> map);

    /**
     * @Author:cat
     * @Description 新增停机记录评论信息
     * @params: haltCommentAddVO 停机记录评论信息
     * @Date:2019-06-11
     * @Return: Integer 主键
     * @Modified By:
     */
    Integer addHaltComment(HaltCommentAddVO haltCommentAddVO);

    /**
     * @Author:cat
     * @Description 根据条件分页查询停机设备
     * @params: map 查询条件
     * @params: page 分页
     * @Date:2019-06-12
     * @Return: List<HaltCameraModel> 停机设备集合
     * @Modified By:
     */
    List<HaltCameraModel> getHaltCameraListByPage(Map<String, Object> map, Page page);
}
